#ifndef SUPSQL_H
#define SUPSQL_H

#include <QObject>
#include <QSqlDatabase>
#include<QList>

struct GoodInfo{
    int id;
    QString name;
    QString kind;
    float price;
    int num;
};

struct UserInfo{
    int id;
    QString name;
    int password;
    int username;
    QString address;
    QString phone;
    QString Aur;
};

class supsql : public QObject
{
    Q_OBJECT
public:
    static supsql *ptrSupSql;
    //承接唯一实例
    static supsql *getinstance()
    {
        if(nullptr == ptrSupSql)
        {
            ptrSupSql = new supsql;
        }
        return ptrSupSql;
    }

    explicit supsql(QObject *parent = nullptr);

    void init();

    //查询所有货物的数量
    int getGoodCnt();

    //查询所有员工数量
    int getUserCnt();

    //查询第几页货物数据
    QList<GoodInfo> getPageGood(int page,int uicnt);

    //增加货物
    bool addGood(GoodInfo info);

    //删除货物
    bool RemoveGood(int id);

    //清空货物表
    bool ClearGoodTable();

    //修改货物信息
    bool UpdateGoodInfo(GoodInfo info);

    //查询所有用户
    QList<UserInfo>getPageUser(int page,int uicnt);

    //查询用户是否存在
    bool IsExist(UserInfo info);

    //更新用户信息
    bool changeUserInfo(UserInfo info);

    //增加用户
    bool AddUser(UserInfo info);

    //减少用户
    bool RemoveUser(int username);

    //修改密码
    bool UpdatePwd(UserInfo info);

signals:
private:
    QSqlDatabase m_db;
public slots:
};

#endif // SUPSQL_H
